Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## rdlc.rdl
Class ChannelModel_FIFOPipe

    java.lang.Object
      rdlc.rdl.Declaration_Named
          rdlc.rdl.ChannelModel_FIFOPipe

All Implemented Interfaces:
  ChannelModel, Declaration, Expression

    public class ChannelModel_FIFOPipe

extends Declaration_Named
implements ChannelModel

Standard pipeline & FIFO channel model. Carries zero or one message fragments per target cycle. Bitwidth/fragment size, latency and buffering are all variable parameters.

Version:
  $Revision: 1.12 $
Author:
  Greg Gibeling

Nested Class Summary

Nested classes/interfaces inherited from interface rdlc.rdl.Expression
`Expression.Phase`

Field Summary
`protected int` | `bitwidth` The bitwidth/fragment width of this channel.
`protected int` | `buffering` The number of fragments of storage in this channel.
`protected int` | `bwlatency` The backward latency of idles on this channel.
`protected int` | `fwlatency` The forward latency of fragments on this channel.

Fields inherited from class rdlc.rdl.Declaration_Named
`iName, namespace, rawStaticID`

Constructor Summary
`ChannelModel_FIFOPipe(int _bitwidth, int _fwlatency, int _buffering, int _bwlatency, Log _errorLog)` Full constructor for a complete model.
`ChannelModel_FIFOPipe(Namespace _namespace)` Base constructor for an unnamed channel model.

Method Summary
`int` | `getBackwardLatency()` Simple accessor.
`int` | `getBitwidth()` Simple accessor.
`int` | `getBuffering()` Simple accessor.
`int` | `getForwardLatency()` Simple accessor.
`java.lang.String` | `getLambdaName()` Simple accessor.
`java.lang.String` | `toString()` Simple accessor.
`boolean` | `typeMatch(Expression e)` Check for a type match with another RDL expression.

Methods inherited from class rdlc.rdl.Declaration_Named
`getBase, getIdentifier, getNamedBase, getRawStaticID, getRequirements, getType, resolve, setNamespace, setRawStaticID`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface rdlc.rdl.Declaration
`getBase, getIdentifier, getNamedBase, getType, setRawStaticID`

Methods inherited from interface rdlc.rdl.Expression
`getRequirements, resolve, setNamespace`

Field Detail

### bitwidth

    protected int bitwidth

  The bitwidth/fragment width of this channel.

### fwlatency

    protected int fwlatency

  The forward latency of fragments on this channel.

### buffering

    protected int buffering

  The number of fragments of storage in this channel.

### bwlatency

    protected int bwlatency

  The backward latency of idles on this channel.

Constructor Detail

### ChannelModel_FIFOPipe

    public ChannelModel_FIFOPipe(Namespace _namespace)

  Base constructor for an unnamed channel model. This is used as part of error recovery: it is called to create a default "<1,1,1,1>" channel any time the real model properties cannot be determined.

  Parameters:
    `_namespace` - The namespace in which to create this unnamed model.

### ChannelModel_FIFOPipe

    public ChannelModel_FIFOPipe(int _bitwidth,
                                 int _fwlatency,
                                 int _buffering,
                                 int _bwlatency,
                                 Log _errorLog)

  Full constructor for a complete model. Takes the given name and parameters and stores them. Note that it will also double check for errors such as invalid parameters. If the name is null this will create an unnamed channel model.

  Parameters:
    `_bitwidth` - The bitwidth/fragment size of this channel.
    `_fwlatency` - The latency in target cycles of fragments on this channel.
    `_buffering` - The number of fragments this channel cam buffer.
    `_bwlatency` - The latency in target cycles of idles on this channel.
    `_errorLog` - A list of all the errors to be reported.

Method Detail

### toString

    public java.lang.String toString()

  Simple accessor.

  Overrides:
    `toString` in class `Declaration_Named`
  Returns:
    A human readable representation of this channel model. Used for debugging only.
  See Also:
    `Object.toString()`

### getBitwidth

    public int getBitwidth()

  Simple accessor.

  Specified by:
    `getBitwidth` in interface `ChannelModel`
  Returns:
    The bitwidth (fragment width) of this channel model.
  See Also:
    `ChannelModel.getBitwidth()`

### getForwardLatency

    public int getForwardLatency()

  Simple accessor.

  Specified by:
    `getForwardLatency` in interface `ChannelModel`
  Returns:
    The forward latency of this channel model.
  See Also:
    `ChannelModel.getForwardLatency()`

### getBuffering

    public int getBuffering()

  Simple accessor.

  Specified by:
    `getBuffering` in interface `ChannelModel`
  Returns:
    The number of fragments this channel model can buffer.
  See Also:
    `ChannelModel.getBuffering()`

### getBackwardLatency

    public int getBackwardLatency()

  Simple accessor.

  Specified by:
    `getBackwardLatency` in interface `ChannelModel`
  Returns:
    The backward latency of this channel model.
  See Also:
    `ChannelModel.getBackwardLatency()`

### typeMatch

    public boolean typeMatch(Expression e)

  Check for a type match with another RDL expression. This of course will be false unless the other expression represents a channel model with identical parameters. If the other expression is an indirect declaration, it will call the `typeMatch()` method for that object (part of named type support).

  Specified by:
    `typeMatch` in interface `Expression`
  Parameters:
    `e` - The expression to check against.
  Returns:
    `true` if the expression `e` represents another channel with the same parameters.

### getLambdaName

    public java.lang.String getLambdaName()

  Description copied from interface: `Declaration`
  Simple accessor.

  Specified by:
    `getLambdaName` in interface `Declaration`
  Returns:
    A name for this type, which can be used for types which were unnamed in RDL.
  See Also:
    `Declaration.getLambdaName()`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD